Amazon Bedrock Knowledge BaseでRAG評価機能(プレビュー)が使えるようになりました。

Amazon Bedrock Knowledge BaseでRAG評価機能(プレビュー)が使えるようになりました。

Clock Icon2024.12.02

Amazon Bedrock Knowledge BaseでRAGの評価機能(プレビュー)が追加されました。

こちらの機能を利用することで、コンテキストの関連性、正確性、完全性などの指標を使用して、ナレッジベースのパフォーマンス詳細を確認することができるようになりました。

AWSブログも公開されています。
https://aws.amazon.com/jp/blogs/aws/new-rag-evaluation-and-llm-as-a-judge-capabilities-in-amazon-bedrock/

やってみた

Evaluations内に新しくKnowledgeBasesのページが追加されていることが確認できます。
まずはCreateボタンから作成をしてみます。

FireShot Capture 046 - Amazon Bedrock - us-west-2 - us-west-2.console.aws.amazon.com

Evaluation details

名前と説明を入力後、評価メトリックを計算するモデルを選択します。
今回は Claude 3.5 Sonnet を使用します。

Capture-2024-12-02-130502

Knowledge Base details

続いて、評価するナレッジベースを選択します。
今回は以前作成済みのものがあるので、そちらを使用します。
Knowledge Base evaluation typeには以下のどちらかが選択可能です。(typeによって後続のMetricsの選択肢が変動します。)

  • Retrieval and response generation
  • Retrieval only

Retrieval and response generationを選択した場合は、応答生成に使用するモデルも選択する必要があります。
今回は Claude 3 Haiku を使用します。

Capture-2024-12-02-130535

Metrics

ここでは評価メトリクスにを選択可能です。
Qualityでは HelpfulnessCorrectness を選択し、Responsible AIでは Harmfulness を選択します。

Capture-2024-12-02-130549

Dataset and evaluation results S3 location

ここでは評価に使用するデータセットと評価結果を保存するS3の指定が可能です。
S3バケットにCORSの設定が必要ですので、以下を参考に実施します。

https://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/model-evaluation-security-iam.html#model-evaluation-security-cors

評価用データセットをファイル拡張子 (.JSONL、.jsonl) で用意しバケットにアップロードします。

評価データセット
{"conversationTurns":[{"referenceResponses":[{"content":[{"text":"勤怠管理システムへのアクセスは、専用のウェブサイト(https://kintai.example.com/)を通じて行います。"}]}],"prompt":{"content":[{"text":"勤怠管理システムにはどのようにアクセスしますか?"}]}}]}
{"conversationTurns":[{"referenceResponses":[{"content":[{"text":"有給休暇を申請するには、メインメニューから休暇申請のセクションを選択し、「有給休暇」のオプションをクリックします。新規申請を選び、申請日、休暇取得日、休暇終了日、および休暇の理由を入力してください。"}]}],"prompt":{"content":[{"text":"有給休暇の申請手順を教えてください。"}]}}]}
{"conversationTurns":[{"referenceResponses":[{"content":[{"text":"病欠を申請する場合は、休暇申請のセクションから「病欠」を選択し、新規申請を行います。休暇開始日、休暇終了予定日、病名や症状を入力し、医師からの診断書がある場合は、それをシステムにアップロードします。"}]}],"prompt":{"content":[{"text":"病欠の申請方法を説明してください。"}]}}]}
{"conversationTurns":[{"referenceResponses":[{"content":[{"text":"慶弔休暇の申請には、休暇申請セクションから「慶弔休暇」を選び、新規申請を開始します。休暇の種類(結婚、出産、弔事など)を選択し、休暇開始日と終了日、休暇の理由を入力する必要があります。"}]}],"prompt":{"content":[{"text":"慶弔休暇はどのように申請しますか?"}]}}]}
{"conversationTurns":[{"referenceResponses":[{"content":[{"text":"申請した休暇の承認状況は、メインメニューから「申請状況確認」を選択することで確認できます。承認、却下、または保留中の状態を確認することが可能です。"}]}],"prompt":{"content":[{"text":"休暇申請の承認状況はどのように確認できますか?"}]}}]}
{"conversationTurns":[{"referenceResponses":[{"content":[{"text":"システムの使用に関して不明点がある場合は、人事部門(内線:1234)までお問い合わせください。"}]}],"prompt":{"content":[{"text":"システムについて質問がある場合、どこに問い合わせればよいですか?"}]}}]}
{"conversationTurns":[{"referenceResponses":[{"content":[{"text":"メインメニューから休暇申請のセクションを選択し、申請したい休暇の種類(有給休暇、病欠、慶弔休暇)を選んで必要事項を入力します。入力後、「申請」ボタンをクリックすることで申請が完了します。"}]}],"prompt":{"content":[{"text":"休暇申請の基本的な流れを説明してください。"}]}}]}
{"conversationTurns":[{"referenceResponses":[{"content":[{"text":"本マニュアルは、従業員が勤怠管理システムを使用して慶弔休暇、有給休暇、病欠などの各種休暇の申請を行う方法について説明するものです。"}]}],"prompt":{"content":[{"text":"このマニュアルの目的は何ですか?"}]}}]}

それぞれパスを指定します。
Results for evaluation のバケットはキー(フォルダ)の指定をする必要があるので、注意してください。

Capture-2024-12-02-130703

Service access

最後にIAMロールを作成します。
サービスロール名のみ任意の値を入力します。
S3バケットの情報は前のセクションで指定した値が自動で入力されるので、ロールを作成をクリックします。

Capture-2024-12-02-130718

ロールが作成されると、自動で選択されます。

スクリーンショット 2024-12-02 14.44.37

全セクションの入力が終わったら、右下から作成に進みます。

出力結果の確認

作成から15分ほど待つとStatusが 完了済み になり、結果の閲覧が可能になります。

FireShot Capture 048 - Amazon Bedrock - us-west-2 - us-west-2.console.aws.amazon.com

メトリクスの概要と評価指標の内訳が確認でき、今回は以下の結果となりました。

  • 正確さ(Correctness):1
  • 有用性(Helpfulness):0.81
  • 有害(Harmfulness):0

Capture-2024-12-02-132904

Capture-2024-12-02-132916

Capture-2024-12-02-132926

Capture-2024-12-02-132937

Example conversationsを展開することで実際の会話やスコア等の詳細を確認することができました。

Capture-2024-12-02-133055

今回は試せていませんが、評価結果同士の比較もできるようなので、複数のナレッジベースがある場合は比較してみると良いでしょう。

まとめ

今回はRAG評価機能がプレビューされたので、試してみました。
今まではRAGAS等のツールを使って評価する必要がありましたが、本機能を利用することでAWSコンソールから評価ができるようになりました。
どなたかの参考になれば幸いです。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.